Skip Headers

Oracle® XML Developer's Kit Programmer's Guide 10g Release 2 (10.2) Part Number B14252-01 |
Home | Book List | Contents | Index | Master Index | Feedback

Previous | Next
| View PDF

# 29 XDK Standards

This appendix contains the following topics:

- XML Standards Supported by the XDK

- Character Sets Supported by the XDK

## XML Standards Supported by the XDK

This section contains the following topics:

- Summary of XML Standards Supported by the XDK

- XML Standards for the XDK for Java

### Summary of XML Standards Supported by the XDK

Table 29-1 summarizes the standards supported by the XDK Components.

Table 29-1 Summary of XML Standards Supported by the XDK

Standard | Java | C | C++ | Specification URL
--- | --- | --- | --- | ---
DOM 1.0 | Full | Full | Full | `http://www.w3.org/TR/DOM-Level-1`
DOM 2.0 Core | Full | Full | Full | `http://www.w3.org/TR/DOM-Level-2-Core`
DOM 2.0 Events | Full | Full | Full | `http://www.w3.org/TR/DOM-Level-2-Events`
DOM 2.0 Transversal and Range | Full | Full | Full | `http://www.w3.org/TR/DOM-Level-2-Traversal-Range`
DOM 3.0 Load and Save | PartialFoot 1 | None | None | `http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107`
DOM 3.0 Validation | FullFoot 2 | None | None | `http://www.w3.org/TR/2003/CR-DOM-Level-3-Val-20030730`
JAXB 1.0 (JSR Standard) | Full | N/A | N/A | `http://java.sun.com/xml/jaxb`
JAXP 1.1 (JSR Standard) | Full | N/A | N/A | `http://java.sun.com/xml/downloads/jaxp.html`
JAXP 1.2 (JSR Standard) | Full | N/A | N/A | `http://java.sun.com/xml/downloads/jaxp.html`
SAX 1.0 | Full | Full | Full | `http://www.saxproject.org`
SAX 2.0 Core | Full | Full | Full | `http://www.saxproject.org`
SAX 2.0 Extension | Full | Full | Full | `http://www.saxproject.org`
XML 1.0 (Second Edition) | Full | Full | Full | `http://www.w3.org/TR/REC-xml`
XML Base | Only in XSLT | None | None | `http://www.w3.org/TR/xmlbase`
XML Namespaces 1.0 | Full | Full | Full | `http://www.w3.org/TR/REC-xml-names`
XML Pipeline Definition Language 1.0 (Note) | PartialFoot 3 | None | None | `http://www.w3.org/TR/xml-pipeline`
XML Schema language 1.0 | Full | FullFoot 4 | FullFootref 4 | `http://www.w3.org/TR/xmlschema-0`
XPath 1.0 | Full | Full | Full | `http://www.w3.org/TR/xpath`
XPath 2.0 Language (working draft dated 04 April 2005) | Full | None | None | `http://www.w3.org/TR/2005/WD-xpath20-20050404`
XPath 2.0 Data Model (working draft dated 04 April 2005) | Full | None | None | `http://www.w3.org/TR/2005/WD-xpath-datamodel-20050404/`
XQuery 1.0 and XPath 2.0 Functions and Operators (working draft dated 04 April 2005) | Full | None | None | `http://www.w3.org/TR/2005/WD-xpath-functions-20050404`
XSLT 1.0 | Full | Full | Full | `http://www.w3.org/TR/xslt`
XSLT 2.0 (working draft dated 04 April 2005) | PartialFoot 5 | None | None | `http://www.w3.org/TR/2005/WD-xslt20-20050404/`

Footnote 1 "DOM Level 3 Load and Save" describes the relationship between DOM 3.0 Core and Load and Save.
Footnote 2 "DOM 3.0 Validation" describes the relationship between DOM 3.0 Core and Validation.
Footnote 3 "Pipeline Definition Language Standard for the XDK for Java" describes the parts of the standard that are not supported.
Footnote 4 The Schema processor fully supports the functionality stated in the specification plus "XML Schema 1.0 Specification Errata" as published on `http://www.w3.org/2001/05/xmlschema-errata`.
Footnote 5 "XSLT Standard for the XDK for Java" describes the parts of the XSLT standard that are not supported.

### XML Standards for the XDK for Java

This section contains the following topics:

- DOM Standard for the XDK for Java

- XSLT Standard for the XDK for Java

- JAXB Standard for the XDK for Java

- Pipeline Definition Language Standard for the XDK for Java

#### DOM Standard for the XDK for Java

Note: In Oracle Database 10g Release 2, the Java XDK implements the candidate recommendation versions of DOM Level 3.0 Load and Save and Validation specifications. Oracle plans to produce a release or patch set that will include an implementation of DOM Level 3.0 Load and Save and Validation recommendations. In order to conform to the recommendations, Oracle may be forced to make changes that are not backward compatible. During this period Oracle does not guarantee backward compatibility with respect to our DOM Load and Save, and Validation implementation. After the Java XDK is updated to conform to the recommendations, standard Oracle policies with respect to backwards compatibility will apply to the Oracle DOM Load and Save, and Validation implementation.

The DOM APIs include support for candidate recommendations of DOM Level 3 Validation and DOM Level 3 Load and Save.

##### DOM Level 3 Load and Save

The DOM Level 3 Load and Save module enables software developers to load and save XML content inside conforming products. The DOM 3.0 Core interface `DOMConfiguration` is referred by DOM 3 Load and Save. Although DOM 3.0 Core is not supported, a limited implementation of this interface is available.

The `charset-overrides-xml-encoding` configuration parameter is not supported by `LSParser`. Optional settings of the following configuration parameters are not supported by `LSParser`:

- `disallow-doctype (true)`

- `ignore-unknown-character-denormalizations (false)`

- `namespaces (false)`

- `supported-media-types-only (true)`

The `discard-default-content` configuration parameter is not supported by `LSSerializer`. Optional settings of the following configuration parameters are not supported by LSSerializer:

- `canonical-form (true)`

- `format-pretty-print (true)`

- `ignore-unknown-character-denormalizations (false)`

- `normalize-characters (true)`

##### DOM 3.0 Validation

DOM 3.0 validation allows users to retrieve the metadata definitions from XML schemas, query the validity of DOM operations and validate the DOM documents or sub-trees against the XML schema.

Some DOM 3 Core functions referred by Validation are implemented, but Core itself is not supported. Specifically, `NameList` and `DOMStringList` in DOM Core are supported for validation purposes. Because validation is based on an XML schema, you need to convert a DTD to an XML schema before using these functions.

#### XSLT Standard for the XDK for Java

The XSLT processor adds support for the current working drafts of XSLT 2.0, XPath 2.0, and the shared XPath/XQuery data model.

Note: At the time of release of Oracle Database 10g Release 2 the W3C XSLT and XPath working group had not yet published the XSLT 2.0 and XPath 2.0 recommendations. Oracle will continue to track the evolution of the XSLT 2.0 and XPath 2.0 specifications, until such time as they become recommendations. During this period, in order to follow the evolution of the XSLT 2.0 and XPath 2.0 specifications, Oracle may be forced to release updates to the XSLT 2.0 and XPath 2.0 implementation which are not backwards compatible with previous releases or patch sets. During this period Oracle does not guarantee any backward compatibility between database releases or patch sets with respect to our XSLT 2.0 and XPath 2.0 implementation. After the XSLT 2.0 and XPath 2.0 specifications become recommendations, Oracle will produce a release or patch set that includes an implementation of the XSLT 2.0 and XPath 2.0 recommendations. From that point on, standard Oracle policies with respect to backwards compatibility will apply to the Oracle XSLT 2.0 and XPath 2.0 implementation. See `http://www.w3.org` for the latest information on the status of XSLT 2.0 and XPath 2.0 specifications.

Some features of these specifications are not supported in the current release:

- The Schema Import and Static Typing features are not supported, but we do support XML Schema built-in types specified by the XPath 2.0 Datamodel.

- The `schema-element` and `schema-attribute` nodetests are not supported.

- The XSLT instruction `xsl:number` uses XSLT 1.0 semantics and syntax.

- The use-when standard attribute is not supported.

- The processor does not honor the attribute of required on `xsl:param`.

- Tunnel parameters are not supported.

- Regular expression instructions are not supported in XSLT.

- The XPath 2.0 functions `fn:tokenize`, f`n:matches`, and `fn:replace` are not supported.

- `format-dateTime`, f`ormat-date`, and `format-time` functions are not supported.

- The content model for `xsl:attribute`, `xsl:comment`, `xsl:message` and the way to compute key values of `xsl:key` and `xsl:sort` are still 1.0 behavior.

- attribute `[xsl:]inherit-namespaces` for `xsl:copy`, `xsl:element`, and literal result elements is not supported.

Updates to the W3C specifications for XPath 2.0 and XSLT 2.0 resulted in certain differences in behavior from 10g Release 1. For 10g Release 1 compatible behavior set the system property `oracle.xdkjava.compatibility.version=10.1.0`.

XPath 2.0 - Differences between 10g Release 1 and 10g Release 2

1. `RangeExpr`, behavior for (m to n), where m > n changed. Earlier we treated it as (n to m), reverse sequence. As described in the April 2005 draft, we return an empty sequence.

2. `isnot` operator was removed as per the Apr 2005 draft.

3. `getEffectiveBooleanValue` definition (`fn:boolean`) updated as described in the April 2005 draft. Empty string value will result in exception (FORG006) instead of returning `false`. All cases not handled by `getEffectiveBooleanValue` will result in an exception (FORG006). XPath 1.0 behavior for `fn:boolean` will remain the same.

XSLT 2.0 - Difference between 10g Release 1 and 10g Release 2

`normalize-unicode` has been changed to `normalization-form`, the allowed attribute values have been changed from "yes" | "no" to "NFC" | "NFD" | "NKFC" | "NKFD" | \x{2026}\x{2026} as described in the Nov. 2004 draft.

#### JAXB Standard for the XDK for Java

The Oracle Database XDK implementation of the JAXB specification does not support the following features:

- Javadoc generation

- XML Schema component "any" and substitution groups

#### Pipeline Definition Language Standard for the XDK for Java

The XML Pipeline processor differs from the W3C Note as follows:

- The parser processes `DOMParserProcess` and `SAXParserProcess` are included in the XML pipeline (Section 1).

- Only the final target output is checked to see if it is up-to-date with respect to the available pipeline inputs. The XML Pipeline processor does not determine whether the intermediate outputs of every process are up-to-date (Section 2.2).

- For the `select` attribute, anything in between double-quotes ("...") is considered to be a string literal.

- The XML Pipeline processor throws an error if more that one process produces the same infoset (Section 2.4.2.3).

- The `<document>` element is not supported (Section 2.4.2.8).

## Character Sets Supported by the XDK

This section contains the following topics:

- Character Sets Supported by the XDK for Java

- Character Sets Supported by the XDK for C

### Character Sets Supported by the XDK for Java

XML Schema processor for Java supports documents in the following encodings:

- BIG

- EBCDIC-CP-*

- EUC-JP

- EUC-KR

- GB2312

- ISO-2022-JP

- ISO-2022-KR

- ISO-8859-1to -9

- ISO-10646-UCS-2

- ISO-10646-UCS-4

- KOI8-R

- Shift_JIS

- US-ASCII

- UTF-8

- UTF-16

### Character Sets Supported by the XDK for C

The XDK parser for C supports over 300 IANA character sets. These character sets include the following:

- UTF-8

- UTF-16

- UTF16-BE

- UTF16-LE

- US-ASCII

- ISO-10646-UCS-2

- ISO-8859-{1-9, 13-15}

- EUC-JP

- SHIFT_JIS

- BIG5

- GB2312

- GB_2312-80

- HZ-GB-2312

- KOI8-R

- KSC5601

- EUC-KR

- ISO-2022-CN

- ISO-2022-JP

- ISO-2022-KR

- WINDOWS-{1250-1258}

- EBCDIC-CP-{US,CA,NL,WT,DK,NO,FI,SE,IT,ES,GB,FR,HE,BE,CH,ROECE,YU,IS,AR}

- IBM{037, 273, 277, 278, 280, 284, 285, 297, 420, 424, 437, 500, 775, 850, 852, 855, 857, 858, 860, 861, 863, 865, 866, 869, 870, 871, 1026, 01140, 01141, 01142, 01143, 01144, 01145, 01146, 01147,01148}

You can use any alias of the preceding character sets. In addition, you can use any character set specified in Appendix A, Character Sets, of the Oracle Database Globalization Support Guide with the exception of IW7IS960.